#!/usr/bin/env python
# -*- coding: utf-8 -*-
# version: 02/02/2012 beta 0.1
# Copyright Pedro Santos
#           Rui Pereira nº12061

import time
import sys
import random


'''
limpa o terminal/consola
'''
os.system('clear')


def preencher_tabela():
    '''
    Cria a Tabela T com 1000 elementos variando a posição j (x)
    Cria e inicia na primeira posição (0) o valor de j
    Cria uma tabela de contagem tab_contagem com 10 elementos que são as possibilidades de digitos [0,9]
    '''
    T = [0 for x in range(0,1000)]
    j = 0
    tab_contagem = [0 for x in range(0,10)]

    '''
    ciclo while para percorrer a tabela T de indice j
    atribui um numero aleatorio entre 0..9 à variavel x
    Vai validar a quantidade de repetições de cada digito através de tab_contagem, cada um não pode exceder 100 repetições
    '''

    while j < 1000:
        x = random.randint(0,9)
        '''
        atribuição de valor aleatorio a x 0..9
        '''
        if tab_contagem[x] > 99:
			continue 
			'''
			comprova na posição de 0..9 da tab_contagem se o digito em questão já atingio 100 repetições
			'''
            
			'''
			Se atingiu o limite, salta do ciclo sem adicionar o valor randomizado à tabela T[]
			'''
        tab_contagem[x] += 1 
        '''
        se não atinge a as 100 repetições, adiciona mais uma repetição na correspondente tabela de contagem
        '''
        T[j] = x 
        '''
        Adiciona o digito randomizado à correspondente posição j na tabela T[]
        '''
        j += 1 
        '''
        Avança a posição j na tabela T[]
        '''
        pass
        '''
        Retorna a Tabela T
        '''
    return T

'''
Percorre o preenchimento da Tabela para a não repetição de digitos
'''   

def contagem(T):
    tab_contagem = [0 for x in range(0,10)]
    for x in T:
        tab_contagem[x] += 1
        pass
    for x in tab_contagem:
        print x
        pass
    pass

T = preencher_tabela()   

p = random.randint(0,999)

#********************************************************************



'''
Função que troca posicao T[l] com o valor na posicao T[0]
''' 
def switchTab(l):
	aux = T[l]
	T[l] = T[0]
	T[0] = aux
	pass

#************************************************************************

print p




If p == 999:
	l=0
else:
	 l=p

z2=T[l]
'''
print z1


  
'''
Prints de output to tamanho da tabela 1000, da tabela e das contagens a cada 100 elementos  
print len(T)
print T
contagem(T)
'''
